package org.redis.cluster.extension;

import java.util.Collection;

public interface ExtensionLoader {
	
	/**
	 * 加载
	 * @param type
	 * @return
	 */
	public <T> Collection<T> load(Class<T> type);

	/**
	 * 加载
	 * @param type
	 * @param parameters
	 * @return
	 */
	public <T> T load(Class<T> type,Object...parameters);
	
	/**
	 * 加载
	 * @param name
	 * @param type
	 * @param parameters
	 * @return
	 */
	public <T> T load(String name,Class<T> type,Object...parameters);
	
	/**
	 * 初始化
	 */
	public void init();
	
	/**
	 * 销毁
	 */
	public void destroy();
}